#pragma once

#include "Sprite.h"
#include "TouchArea.h"
#include "OBB.h"

namespace DockType {
	enum Enum {
		RED,
		YELLOW,
		NUM_TYPES,
	};
}

class Dock {
public:
	void Load( CIwFVec2 pos, CIwFVec2 dock_direction, DockType::Enum type );
	void Unload();
	int Update( float dt );
	void Draw();
	
	const OBB& GetOBB() const;
	
	CIwFVec2 GetDockingPos() const;
	CIwFVec2 GetDockingOrientation() const;
	CIwFVec2 GetNormal() const;
	
	DockType::Enum GetDockType() const;
	
private:

	OBB m_obb;
	Sprite m_sprite;
	TouchArea m_touch_area;
	CIwFVec2 m_pos;
	
	CIwFVec2 m_docking_pos;
	CIwFVec2 m_docking_orientation;
	CIwFVec2 m_orientation;
	
	DockType::Enum m_type;
};